package com.authine.cloudpivot.web.api.secondopen.service;

import com.authine.cloudpivot.web.api.secondopen.domain.BudgetLog;
import com.authine.cloudpivot.web.api.secondopen.domain.Iusi6BmsqsB;
import com.authine.cloudpivot.web.api.secondopen.domain.Monthlybudgetadjustrecord;
import com.authine.cloudpivot.web.api.secondopen.domain.Qnyssq;

import java.util.List;

public interface BudgetMaintainService {

    /**
     * 根据年份，总账户编码，分帐户编码，成本中心查询预算是否维护
     *
     * @return
     */
    public List<Qnyssq> checkAnnualBudget(Qnyssq qnyssq);

    /**
     * 根据年份，总账户编码，分帐户编码，成本中心查询预算额度信息
     *
     * @param monthlybudgetadjustrecord
     * @return
     */
    public List<Monthlybudgetadjustrecord> getBudgetQuota(Monthlybudgetadjustrecord monthlybudgetadjustrecord);

    /**
     * 维护额度中间表追加额度
     *
     * @param monthlybudgetadjustrecord
     * @return
     */
    public int addBudgetAmendment(Monthlybudgetadjustrecord monthlybudgetadjustrecord);

    /**
     * 插入额度日志信息
     *
     * @return
     */
    public int addBudgetLog(BudgetLog budgetLog);

    /**
     *  减少预算控制
     *
     * @param monthlybudgetadjustrecord
     */
    public int jsBudgetAmendment(Monthlybudgetadjustrecord monthlybudgetadjustrecord);

    /**
     * 调整预算维护中间表数据
     *
     * @param monthlybudgetadjustrecord
     * @return
     */
    public int adjustmentBudgetData(Monthlybudgetadjustrecord monthlybudgetadjustrecord);


    /**
     * 报销扣减预算
     *
     * @param monthlybudgetadjustrecord
     * @return
     */
    public int ReimburseBudget(Monthlybudgetadjustrecord monthlybudgetadjustrecord);

}
